<?php
/**
 * __soapCall('funcname', $params) 执行函数
 * wsdl 方式可用的方法
 * __getFunctions ();//获取服务器上提供的方法
 */
//wsdl 方式
$wsdl = "http://localhost/soap/wsdl/example.wsdl";
$client = new SoapClient($wsdl);

//no wsdl 方式
/*$wsdl = null;
$options = array(
    'location'=> 'http://localhost/soap/wsdl/server.php',
    'uri'=> "http://example.com/soap"  //和服务端一致
);
$client = new SoapClient($wsdl, $options);*/

try {
    $result = $client->add(2,3);
    echo "Result: " . $result;

    echo '\n执行函数' . $client->__soapCall('add', [3, 2]);
    echo ("<br/>\nSOAP服务器提供的开放函数:");
    echo ('<pre>');
    var_dump ( $client->__getFunctions () );//获取服务器上提供的方法
    echo ('</pre>');
    echo ("SOAP服务器提供的Type:");
    echo ('<pre>');
    var_dump ( $client->__getTypes () );//获取服务器上数据类型
    echo ('</pre>');

} catch (SoapFault $e) {
    echo "SOAP Fault: " . $e->getMessage();
}